#ifndef DATAFLOW_ARGUMENT_H
#define DATAFLOW_ARGUMENT_H

#include <QVariant>

namespace DataFlow
{

typedef QVariant Argument;

/*
class Argument
{
	public:

		typedef void     BaseType;
		typedef Argument ThisType;

		Argument(void)
			: flags(0)
		{
			;
		}

		Argument(QVariant & data)
			: d(data)
			, flags(0)
		{
			this->validate();
		}

		QVariant & data(void)
		{
			return this->d;
		}

		const QVariant & data(void) const
		{
			return this->d;
		}

		void validate(void)
		{
			this->flags |= ThisType::VALID;
		}

		void invalidate(void)
		{
			this->flags &= ~(ThisType::VALID);
		}

		bool isValid(void) const
		{
			return ((this->flags & ThisType::VALID) != 0);
		}

	protected:

		enum Flags
		{
			VALID = (1 << 0)
		};

		QVariant     d;
		unsigned int flags;

};
*/

}

#endif // DATAFLOW_ARGUMENT_H
